#ifndef __SW_LIGHT_SPRITE_H__
#define __SW_LIGHT_SPRITE_H__

#include "components/3D/sweety_3D_Engine.h"
#include "components/3D/sweety_3D_Vao.h"
#include "components/3D/sweety_3D_Sprite.h"

namespace SW
{
	class Model;
	class SW_API ModelSprite : public Sprite
	{
	public:
						ModelSprite();
		virtual			~ModelSprite();

		virtual void	Render(const mat4& modelTrans) override;

	private:
		void			InitShaders();		
		void			InitLampShaders();
		void			LoadModel();

	private:
		MainProgramObj  m_Shader;
		MainProgramObj  m_LampShader;

		Model*			m_ModelPtr{ nullptr };
		Model*			m_LightModelPtr{ nullptr };
		
		bool			m_IsResetCampos{ false };

		VaoClass*		m_LightVaoPtr{ nullptr };

		vec3			m_PointLightPositions[2] = {
			vec3(2.3f, -1.6f, -3.0f),
			vec3(-1.7f, 0.9f, 1.0f)
		};;
		
	};
}



#endif